package com.share.common.utils;

import org.springframework.beans.BeanUtils;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

/**
 * Bean 工具类
 *
 * @author ruoyi
 */
public class BeanUtil {

    /**
     * Bean属性复制工具方法。
     *
     * @param dest 目标对象
     * @param src  源对象
     */
    public static void copyProperties(Object dest, Object src) {
        try {
            BeanUtils.copyProperties(src, dest);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    /**
     * 获取对象的getter方法。
     *
     * @param obj 对象
     * @return 对象的getter方法列表
     */

    public static List<Method> getGetterMethods(Object obj) {
        // getter方法列表
        List<Method> getterMethods = new ArrayList<Method>();
        // 获取所有方法
        Method[] methods = obj.getClass().getMethods();
        // 查找getter方法
        for (Method method : methods) {
            getterMethods.add(method);
        }
        // 返回getter方法列表
        return getterMethods;
    }
}
